--  1. CREATE TABLE
CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    age INT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- Этот запрос создает таблицу `users` с колонками id, name, email, age и created_at.

-- ------------------------------------------------------------------

--  2. CREATE DATABASE
CREATE DATABASE mydatabase;
-- Этот запрос создает новую базу данных с именем `mydatabase`.

-- ------------------------------------------------------------------

--  3. CREATE INDEX
CREATE INDEX idx_age ON users(age);
-- Этот запрос создает индекс на колонке `age` в таблице `users`.

-- ------------------------------------------------------------------

--  4. DROP TABLE
DROP TABLE users;
-- Этот запрос удаляет таблицу `users`.

-- ------------------------------------------------------------------

--  5. DROP DATABASE
DROP DATABASE mydatabase;
-- Этот запрос удаляет базу данных `mydatabase`.

-- ------------------------------------------------------------------

--  6. DROP INDEX
DROP INDEX idx_age ON users;
-- Этот запрос удаляет индекс `idx_age` из таблицы `users`.

-- ------------------------------------------------------------------

--  7. ALTER TABLE - ADD COLUMN
ALTER TABLE users ADD COLUMN birthdate DATE;
-- Этот запрос добавляет новую колонку `birthdate` в таблицу `users`.

-- ------------------------------------------------------------------

--  8. ALTER TABLE - DROP COLUMN
ALTER TABLE users DROP COLUMN birthdate;
-- Этот запрос удаляет колонку `birthdate` из таблицы `users`.

-- ------------------------------------------------------------------

--  9. ALTER TABLE - MODIFY COLUMN
ALTER TABLE users MODIFY COLUMN age TINYINT;
-- Этот запрос изменяет тип данных колонки `age` на `TINYINT` в таблице `users`.

-- ------------------------------------------------------------------

-- 10. ALTER TABLE - RENAME COLUMN
ALTER TABLE users CHANGE COLUMN name full_name VARCHAR(150);
-- Этот запрос переименовывает колонку `name` в `full_name` и изменяет ее тип данных на `VARCHAR(150)`.

-- ------------------------------------------------------------------

-- 11. ALTER TABLE - RENAME TABLE
ALTER TABLE users RENAME TO customers;
-- Этот запрос переименовывает таблицу `users` в `customers`.

-- ------------------------------------------------------------------

-- 12. CREATE VIEW
CREATE VIEW user_info AS
SELECT name, email, age FROM users WHERE age > 30;
-- Этот запрос создает представление `user_info`, которое выбирает данные из таблицы `users` для пользователей старше 30 лет.

-- ------------------------------------------------------------------

-- 13. DROP VIEW
DROP VIEW user_info;
-- Этот запрос удаляет представление `user_info`.

-- ------------------------------------------------------------------

-- 14. ALTER DATABASE
ALTER DATABASE mydatabase CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
-- Этот запрос изменяет кодировку и сопоставление базы данных `mydatabase` на `utf8mb4` и `utf8mb4_unicode_ci`.

-- ------------------------------------------------------------------

-- 15. CREATE TRIGGER
CREATE TRIGGER before_insert_users
BEFORE INSERT ON users
FOR EACH ROW
SET NEW.created_at = NOW();
-- Этот запрос создает триггер `before_insert_users`, который устанавливает текущее время в колонку `created_at` перед вставкой новой строки в таблицу `users`.

-- ------------------------------------------------------------------

-- 16. DROP TRIGGER
DROP TRIGGER before_insert_users;
-- Этот запрос удаляет триггер `before_insert_users`.
